#pragma once

namespace helper {
namespace resource {

template<typename R>
class IOpenable {
public:
	virtual ~IOpenable(){}

	typedef R return_type;

	virtual return_type open()  = 0;
	virtual return_type close() = 0;
	virtual bool isOpened() const = 0;
};

}//namespace resource
}//namespace helper

